package com.ruoyi.cm.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 合同信息里程碑业务对象 cm_bs_contract_info_milestone
 *
 * @author zyb
 * @date 2024-09-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CmBsContractInfoMilestoneBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 合同id
     */
    @NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long contractId;

    /**
     * 开始时间
     */
    //@NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date beginDate;

    /**
     * 结束时间
     */
    //@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date endDate;

    /**
     * 开工预付款比例
     */
    //@NotNull(message = "开工预付款比例不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal kgyfkbl;

    /**
     * 备注
     */
    //@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 支付条款
     */
    //@NotBlank(message = "支付条款不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zftk;

    /**
     * 审批状态
     */
    private String approvalStatus;

    private String procInsId; // 流程实例id
    private String chgProcInsId; // 变更流程实例id
}
